Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add shr_dust_emis_mod to handle options for dust emissions between CTSM and CAM #429

Merged
merged 9 commits into from
Jun 26, 2024

Conversation

ekluzek
Copy link
Collaborator

@ekluzek ekluzek commented Feb 14, 2024

Description of changes

Add a shared module for controlling how dust emissions are handled in CTSM and CAM.
This will allow us to use the current dust emission options, and also the new dust emissions
being developed.

This implements the design given for this work in:

https://docs.google.com/document/d/18nZ3LJF5W-YF9iBhqed6s_NWeKOvSSL2-k0Lye1nnLg/edit#heading=h.c1sjcqnqh1zs

Specific notes

Contributors other than yourself, if any: @fvitt

CMEPS Issues Fixed (include github issue #):

Fixes #353

Are changes expected to change answers? No

Any User Interface Changes (namelist or namelist defaults changes)?

Namelist items added the drv_fls_in namelist:

   dust_emis_method
   zender_soil_erod_source

These will be set by either CAM or CTSM to control how dust emissions work.

Testing performed

None so far. But, will do standard testing in CTSM as well as any CMEPS test lists.
This shouldn't effect anything outside of CTSM and CAM, and even then only for
versions that use it.

@ekluzek ekluzek requested a review from fvitt February 14, 2024 23:45
@ekluzek ekluzek added enhancement New feature or request CESM only Responsibility: CTSM Responsibility to manage and accomplish this issue is the CTSM Software group labels Feb 14, 2024
@ekluzek
Copy link
Collaborator Author

ekluzek commented Feb 14, 2024

@fvitt I haven't got this working or tested yet in CTSM. But, I think this includes everything needed in this space. So if you could look it over and give feedback that would be great. I'll be working on completing this to bring this in the next month or so...

Copy link
Collaborator

@fvitt fvitt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.
Thanks

@ekluzek ekluzek assigned ekluzek and unassigned ekluzek Apr 15, 2024
…is_mod

 Conflicts:
	cesm/nuopc_cap_share/shr_dust_emis_mod.F90
Change check_if_initiatlized to logical function to help with unit testing.
Make the checking of options it's own subroutine to help with unit-testing.
@ekluzek ekluzek changed the title [WIP] Add shr_dust_emis_mod to handle options for dust emissions between CTSM and CAM Add shr_dust_emis_mod to handle options for dust emissions between CTSM and CAM May 17, 2024
@ekluzek ekluzek marked this pull request as ready for review May 17, 2024 14:46
@ekluzek
Copy link
Collaborator Author

ekluzek commented May 17, 2024

This is ready to come in from my perspective at this point. I'm happy to hear about any changes or testing that I need to do with it though.

And I figure this will have to wait until after the cesm3_0_beta01 freeze in case something is needed from CMEPS for the git fleximod update.

@jedwards4b jedwards4b merged commit e1335d3 into ESCOMP:main Jun 26, 2024
2 checks passed
ekluzek added a commit to mvdebolskiy/CTSM that referenced this pull request Jul 31, 2024
Dust emissions control moved to cmeps

Remove the dust emissions namelist items from CTSM and use the namelist in the drv_flds_in for CMEPS.

This updates CTSM to use the namelist control in CMEPS (in ESCOMP/CMEPS#429). So the CMEPS external needs to be updated, and the
namelist control in CTSM changed to use CMEPS rather than the internal CTSM control settings and the CTSM ones removed.

The new XML variable:

   LND_SETS_DUST_EMIS_DRV_FLDS

controls whether dust emission settings are set by CTSM or by CAM. Only one or the other can set them, and it's required so when CAM
and CTSM are running together they need to know which one will select.

This required some changes for LILAC. The drv_flds_in namelist file is now required for LILAC, and read for dust emissions
(and dust emissions only) at the LILAC lnd_comp_esmf.F90 level.

Add a unit test for the CMEPS code to make sure it's working correctly. This validates the code both for CAM and CTSM.

Fix the cidinahoBR test in the build-namelist unit tester.

 Conflicts:
	bld/unit_testers/build-namelist_test.pl
	src/biogeophys/TemperatureType.F90
slevis-lmwg added a commit to HuiWangWanderInGitHub/CTSM that referenced this pull request Aug 1, 2024
Dust emissions control moved to cmeps

Remove the dust emissions namelist items from CTSM and use the namelist in the drv_flds_in for CMEPS.

This updates CTSM to use the namelist control in CMEPS (in ESCOMP/CMEPS#429). So the CMEPS external needs to be updated, and the
namelist control in CTSM changed to use CMEPS rather than the internal CTSM control settings and the CTSM ones removed.

The new XML variable:

   LND_SETS_DUST_EMIS_DRV_FLDS

controls whether dust emission settings are set by CTSM or by CAM. Only one or the other can set them, and it's required so when CAM
and CTSM are running together they need to know which one will select.

This required some changes for LILAC. The drv_flds_in namelist file is now required for LILAC, and read for dust emissions
(and dust emissions only) at the LILAC lnd_comp_esmf.F90 level.

Add a unit test for the CMEPS code to make sure it's working correctly. This validates the code both for CAM and CTSM.

Fix the cidinahoBR test in the build-namelist unit tester.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CESM only enhancement New feature or request Responsibility: CTSM Responsibility to manage and accomplish this issue is the CTSM Software group
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Add dust_emission_method to drv_flds_in
3 participants